Smart contract hacking con Damn Vulnerable DeFi @ Ekoparty
Como se anunció recientemente, este sábado 6 de noviembre a las 14:00 hs. (horario de Argentina) nos juntamos en el workshop "Smart contract hacking with Damn Vulnerable DeFi" de la Ekoparty 2021.
¿De qué se trata el workshop?
Es un workshop de 2 horas para aprender sobre seguridad ofensiva de smart contracts de finanzas decentralizadas (más conocido como Decentralized Finances, o DeFi).
La idea es que el workshop sea lo más práctico posible. Así que durante las 2 horas vamos a estar mirando y escribiendo exploits que resuelvan algunos de los challenges del wargame Damn Vulnerable DeFi (actualizado hace muy poquito).
Si bien el foco va a estar puesto en explicar vulnerabilidades y cómo construir cada uno de los exploits que nos permitan avanzar en el wargame, cada challenge también nos va a servir como disparador para explicar desde un punto de vista de seguridad conceptos fundamentales de smart contracts, Solidity, DeFi (flash loans, lending pools, NFTs, etc.), Ethereum, la EVM, y esas cosas piolas. También voy a contar algunas intuiciones y heurísticas personales que van a ayudar a entender como pensar la seguridad ofensiva de smart contracts.
¿Qué tenés que saber para aprovechar al máximo este workshop?
Recordá que este no es un workshop 100% introductorio a la seguridad ofensiva de smart contracts. Por lo que se van a asumir conocimientos mínimos de desarrollo y seguridad. Obviamente todes son bienvenides. Aún si no entienden algunos conceptos y explicaciones, estoy bastante seguro que van a aprender e interesarse en el tema.
Pero si querés aprovecharlo al máximo, recomiendo:
- Si no sabés absolutamente nada de desarrollo de smart contracts, hacer este cursito de 4 horas.
- Si sabés algo de desarrollo de smart contracts, pero muy poco o nada de que significa hacer seguridad, hacer este otro cursito de 4 horas.
¿Qué tenés que tener instalado en tu ambiente de desarrollo?
Si querés seguir paso a paso en vivo el workshop, te recomiendo:
- Un editor de texto (yo voy a usar VS Code con la extensión para Solidity).
- Instalar Node.js.
- Instalar un package manager como NPM o Yarn (yo voy a usar Yarn).
- Setupear Damn Vulnerable DeFi siguiendo las instrucciones de instalación. Es decir, primero clonar el repositorio y asegurarse de estar en la versión
v2.0.0
(congit checkout v2.0.0
), y luego en el directorio raíz, ejecutar el comandoyarn
para instalar todas las dependencias.